package com.andyliu.system.mapper;

import com.andyliu.system.dto.MenuDto;
import com.andyliu.system.entity.Menu;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 菜单权限表 Mapper 接口
 * </p>
 *
 * @author andyLiu
 * @since 2021-08-10
 */
@Mapper
public interface MenuMapper extends BaseMapper<Menu> {
        /**
         * <p>
         * 查询 : 分页显示
         * </p>
         *
         * @param page 分页对象,xml中可以从里面进行取值,传递参数 Page 即自动分页,必须放在第一位(你可以继承Page实现自己的分页对象)
         * @return 分页对象
         */
        IPage<Menu> selectByPage(Page<Menu> page,@Param("params") Menu menu);


        IPage<MenuDto> selectByPage(Page<MenuDto> page,@Param("params") MenuDto menu);

        MenuDto selectMenuById(Integer menuId);

        int deleteRoleMenus(Integer roleId);

        int insertRoleMenus(Map map);

        List<MenuDto> selectByRoleId(Integer roleId);

        /**
         * 根据角色id查询带子集的菜单信息
         * @param roleId
         * @return
         */
        List<MenuDto> selectRoleMenus(Integer roleId);
}
